/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.srm.manejadores;

import co.srm.dao.JPAGenericDAO;
import co.srm.entidades.DatosFinanciero;
import co.srm.entidades.Empresa;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 *
 * @author TilZon
 */
public class ManejadorDatosFinancieros {

    private JPAGenericDAO<DatosFinanciero> daoFinanzas = new JPAGenericDAO<DatosFinanciero>(DatosFinanciero.class);

    public ManejadorDatosFinancieros() {
    }

    public boolean guardarDatosFinanciero(double recaudo, Date fecha, Empresa emp) {
        DatosFinanciero dato = null;

        try {
            dato = new DatosFinanciero();
            dato.setEmpresa(emp);
            dato.setFecha(fecha);
            dato.setRecaudo(recaudo);

        } catch (Exception e) {
            e.printStackTrace();
        }
        boolean estado = daoFinanzas.save(dato);

        return estado;
    }// fin del metodo

    public DatosFinanciero UltimoDatoFinanciero() {
        List<DatosFinanciero> datos = null;
        datos = daoFinanzas.get("SELECT MAX(d) FROM DatosFinanciero d");

        if (!datos.contains(null)) {
            if (datos != null) {
                return datos.get(0);
            } else {
                return null;
            }
        } else {
            return null;
        }

    }

    public DatosFinanciero DatoFinancieroByFecha(Date d) {
        List<DatosFinanciero> datos = null;
        SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
        String fecha=formato.format(d);
        datos = daoFinanzas.get("SELECT d FROM DatosFinanciero d WHERE d.fecha = '"+fecha+"'");
        //if (!datos.contains(null)) {
            if (!datos.isEmpty()) {
                return datos.get(0);
            } else {
                return null;
            }
//        } else {
//            return null;
//        }

    }

    public boolean actualizarDatoFinanciero(DatosFinanciero d) {
        boolean estado = daoFinanzas.save(d);

        return estado;
    }
}
